<!DOCTYPE html>
<html lang="en-US" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>金信通智慧办公系统</title>
    <meta name="description" content="档案与电子文档管理系统">
    <meta name="generator" content="VitePress v1.5.0">
    <link rel="preload stylesheet" href="/assets/style.Dp0lbQBF.css" as="style">
    <link rel="preload stylesheet" href="/vp-icons.css" as="style">
    
    <script type="module" src="/assets/app.dV7dGA8w.js"></script>
    <link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
    <link rel="modulepreload" href="/assets/chunks/theme.CAMB7RoJ.js">
    <link rel="modulepreload" href="/assets/chunks/framework.mqlkf_9D.js">
    <link rel="modulepreload" href="/assets/interview_special_net.md.BlA12oCH.lean.js">
    <link rel="icon" href="/icon/favicon.ico">
    <meta name="keywords" content="金信通, 智慧办公, 档案与电子文档管理系统, 文档管理系统, 档案">
    <link rel="dns-prefetch" href="https://fonts.googleapis.com">
    <link rel="dns-prefetch" href="https://fonts.gstatic.com">
    <link rel="preconnect" crossorigin="anonymous" href="https://fonts.googleapis.com">
    <link rel="preconnect" crossorigin="anonymous" href="https://fonts.gstatic.com">
    <meta property="og:url" content="https://www.dotnetshare.com/">
    <meta property="og:locale" content="zh_CN">
    <script>var _hmt=_hmt||[];(function(){var e=document.createElement("script");e.src="https://hm.baidu.com/hm.js?cc5a66c545a0dc6ac6f0b83090e2b806";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})();</script>
    <script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
    <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
  </head>
  <body>
    <div id="app"><div class="Layout" data-v-3efcb1ce><!--[--><!--]--><!--[--><span tabindex="-1" data-v-f2f1af7d></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-f2f1af7d> Skip to content </a><!--]--><!----><header class="VPNav" data-v-3efcb1ce data-v-d92d3bf3><div class="VPNavBar" data-v-d92d3bf3 data-v-4d24195f><div class="wrapper" data-v-4d24195f><div class="container" data-v-4d24195f><div class="title" data-v-4d24195f><div class="VPNavBarTitle has-sidebar" data-v-4d24195f data-v-aa77a82d><a class="title" href="/" data-v-aa77a82d><!--[--><!--]--><!----><span data-v-aa77a82d>金信通智慧办公系统</span><!--[--><!--]--></a></div></div><div class="content" data-v-4d24195f><div class="content-body" data-v-4d24195f><!--[--><!--]--><div class="VPNavBarSearch search" data-v-4d24195f><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-4d24195f data-v-03316225><span id="main-nav-aria-label" class="visually-hidden" data-v-03316225> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/guid/intro.html" tabindex="0" data-v-03316225 data-v-7228a783><!--[--><span data-v-7228a783>管理系统使用</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/command/dotnet.html" tabindex="0" data-v-03316225 data-v-7228a783><!--[--><span data-v-7228a783>档案柜配置</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/netopensource/" tabindex="0" data-v-03316225 data-v-7228a783><!--[--><span data-v-7228a783>小程序使用</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-03316225 data-v-ba6b45eb><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-ba6b45eb><span class="text" data-v-ba6b45eb><!----><span data-v-ba6b45eb>链接</span><span class="vpi-chevron-down text-icon" data-v-ba6b45eb></span></span></button><div class="menu" data-v-ba6b45eb><div class="VPMenu" data-v-ba6b45eb data-v-d87007e0><div class="items" data-v-d87007e0><!--[--><!--[--><div class="VPMenuLink" data-v-d87007e0 data-v-7db8e0ca><a class="VPLink link vp-external-link-icon" href="https://malus.dotnetshare.com" target="_blank" rel="noreferrer" data-v-7db8e0ca><!--[--><span data-v-7db8e0ca>MalusAdmin</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-d87007e0 data-v-7db8e0ca><a class="VPLink link vp-external-link-icon" href="https://gitee.com/Pridejoy/MalusAdmin" target="_blank" rel="noreferrer" data-v-7db8e0ca><!--[--><span data-v-7db8e0ca>Malus(开源地址)</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-4d24195f data-v-77825811><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-77825811 data-v-9e221f44 data-v-661c05b3><span class="check" data-v-661c05b3><span class="icon" data-v-661c05b3><!--[--><span class="vpi-sun sun" data-v-9e221f44></span><span class="vpi-moon moon" data-v-9e221f44></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-4d24195f data-v-73b344d7 data-v-b07a7149><!--[--><a class="VPSocialLink no-icon" href="/aboutme.html" aria-label="wechat" target="_blank" rel="noopener" data-v-b07a7149 data-v-53b864fb><svg t="1703483542872" class="icon" viewBox="0 0 1309 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6274" width="200" height="200"><path d="M1147.26896 912.681417l34.90165 111.318583-127.165111-66.823891a604.787313 604.787313 0 0 1-139.082747 22.263717c-220.607239 0-394.296969-144.615936-394.296969-322.758409s173.526026-322.889372 394.296969-322.889372C1124.219465 333.661082 1309.630388 478.669907 1309.630388 656.550454c0 100.284947-69.344929 189.143369-162.361428 256.130963zM788.070086 511.869037a49.11114 49.11114 0 0 0-46.360916 44.494692 48.783732 48.783732 0 0 0 46.360916 44.494693 52.090549 52.090549 0 0 0 57.983885-44.494693 52.385216 52.385216 0 0 0-57.983885-44.494692z m254.985036 0a48.881954 48.881954 0 0 0-46.09899 44.494692 48.620028 48.620028 0 0 0 46.09899 44.494693 52.385216 52.385216 0 0 0 57.983886-44.494693 52.58166 52.58166 0 0 0-57.951145-44.494692z m-550.568615 150.018161a318.567592 318.567592 0 0 0 14.307712 93.212943c-14.307712 1.080445-28.746387 1.768001-43.283284 1.768001a827.293516 827.293516 0 0 1-162.394168-22.296458l-162.001279 77.955749 46.328175-133.811485C69.410411 600.858422 0 500.507993 0 378.38496 0 166.683208 208.689602 0 463.510935 0c227.908428 0 427.594322 133.18941 467.701752 312.379588a427.463358 427.463358 0 0 0-44.625655-2.619261c-220.24709 0-394.100524 157.74498-394.100525 352.126871zM312.90344 189.143369a64.270111 64.270111 0 0 0-69.803299 55.659291 64.532037 64.532037 0 0 0 69.803299 55.659292 53.694846 53.694846 0 0 0 57.852923-55.659292 53.465661 53.465661 0 0 0-57.852923-55.659291z m324.428188 0a64.040926 64.040926 0 0 0-69.574114 55.659291 64.302852 64.302852 0 0 0 69.574114 55.659292 53.694846 53.694846 0 0 0 57.951145-55.659292 53.465661 53.465661 0 0 0-57.951145-55.659291z" p-id="6275"></path></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-4d24195f data-v-ca0a11f1 data-v-ba6b45eb><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-ba6b45eb><span class="vpi-more-horizontal icon" data-v-ba6b45eb></span></button><div class="menu" data-v-ba6b45eb><div class="VPMenu" data-v-ba6b45eb data-v-d87007e0><!----><!--[--><!--[--><!----><div class="group" data-v-ca0a11f1><div class="item appearance" data-v-ca0a11f1><p class="label" data-v-ca0a11f1>主题</p><div class="appearance-action" data-v-ca0a11f1><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-ca0a11f1 data-v-9e221f44 data-v-661c05b3><span class="check" data-v-661c05b3><span class="icon" data-v-661c05b3><!--[--><span class="vpi-sun sun" data-v-9e221f44></span><span class="vpi-moon moon" data-v-9e221f44></span><!--]--></span></span></button></div></div></div><div class="group" data-v-ca0a11f1><div class="item social-links" data-v-ca0a11f1><div class="VPSocialLinks social-links-list" data-v-ca0a11f1 data-v-b07a7149><!--[--><a class="VPSocialLink no-icon" href="/aboutme.html" aria-label="wechat" target="_blank" rel="noopener" data-v-b07a7149 data-v-53b864fb><svg t="1703483542872" class="icon" viewBox="0 0 1309 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6274" width="200" height="200"><path d="M1147.26896 912.681417l34.90165 111.318583-127.165111-66.823891a604.787313 604.787313 0 0 1-139.082747 22.263717c-220.607239 0-394.296969-144.615936-394.296969-322.758409s173.526026-322.889372 394.296969-322.889372C1124.219465 333.661082 1309.630388 478.669907 1309.630388 656.550454c0 100.284947-69.344929 189.143369-162.361428 256.130963zM788.070086 511.869037a49.11114 49.11114 0 0 0-46.360916 44.494692 48.783732 48.783732 0 0 0 46.360916 44.494693 52.090549 52.090549 0 0 0 57.983885-44.494693 52.385216 52.385216 0 0 0-57.983885-44.494692z m254.985036 0a48.881954 48.881954 0 0 0-46.09899 44.494692 48.620028 48.620028 0 0 0 46.09899 44.494693 52.385216 52.385216 0 0 0 57.983886-44.494693 52.58166 52.58166 0 0 0-57.951145-44.494692z m-550.568615 150.018161a318.567592 318.567592 0 0 0 14.307712 93.212943c-14.307712 1.080445-28.746387 1.768001-43.283284 1.768001a827.293516 827.293516 0 0 1-162.394168-22.296458l-162.001279 77.955749 46.328175-133.811485C69.410411 600.858422 0 500.507993 0 378.38496 0 166.683208 208.689602 0 463.510935 0c227.908428 0 427.594322 133.18941 467.701752 312.379588a427.463358 427.463358 0 0 0-44.625655-2.619261c-220.24709 0-394.100524 157.74498-394.100525 352.126871zM312.90344 189.143369a64.270111 64.270111 0 0 0-69.803299 55.659291 64.532037 64.532037 0 0 0 69.803299 55.659292 53.694846 53.694846 0 0 0 57.852923-55.659292 53.465661 53.465661 0 0 0-57.852923-55.659291z m324.428188 0a64.040926 64.040926 0 0 0-69.574114 55.659291 64.302852 64.302852 0 0 0 69.574114 55.659292 53.694846 53.694846 0 0 0 57.951145-55.659292 53.465661 53.465661 0 0 0-57.951145-55.659291z" p-id="6275"></path></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-4d24195f data-v-c5b212bb><span class="container" data-v-c5b212bb><span class="top" data-v-c5b212bb></span><span class="middle" data-v-c5b212bb></span><span class="bottom" data-v-c5b212bb></span></span></button></div></div></div></div><div class="divider" data-v-4d24195f><div class="divider-line" data-v-4d24195f></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-3efcb1ce data-v-1c741b14><div class="container" data-v-1c741b14><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-1c741b14><span class="vpi-align-left menu-icon" data-v-1c741b14></span><span class="menu-text" data-v-1c741b14>菜单</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-1c741b14 data-v-83a9fff7><button data-v-83a9fff7>回到顶部</button><!----></div></div></div><aside class="VPSidebar" data-v-3efcb1ce data-v-c73c6ab0><div class="curtain" data-v-c73c6ab0></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-c73c6ab0><span class="visually-hidden" id="sidebar-aria-label" data-v-c73c6ab0> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-7c41cf7c><section class="VPSidebarItem level-0 collapsible collapsed" data-v-7c41cf7c data-v-ecbfd8bc><div class="item" role="button" tabindex="0" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><h2 class="text" data-v-ecbfd8bc>面试题</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-ecbfd8bc><span class="vpi-chevron-right caret-icon" data-v-ecbfd8bc></span></div></div><div class="items" data-v-ecbfd8bc><!--[--><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/basepaper1.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>基础试题1</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/basepaper2.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>基础试题2</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/basepaper3.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>基础试题3</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/basepaper4.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>基础试题4</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/randompaper1.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>随机试题1</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/randompaper2.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>随机试题2</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/intermediate1.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>中高级开发工程师</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/groupfriends25.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>群友25k面试题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/intermediate3.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>某公司.NET面试题1</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/zhiying.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>某公司.NET面试题2</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/yuehai.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>某物流公司高级面试题</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-7c41cf7c><section class="VPSidebarItem level-0 collapsible collapsed has-active" data-v-7c41cf7c data-v-ecbfd8bc><div class="item" role="button" tabindex="0" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><h2 class="text" data-v-ecbfd8bc>专项面试</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-ecbfd8bc><span class="vpi-chevron-right caret-icon" data-v-ecbfd8bc></span></div></div><div class="items" data-v-ecbfd8bc><!--[--><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/special/redis.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>Redis高频</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/special/sqlserver.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>Sqlserver高频</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/special/mysql.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>Mysql高频</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/special/rabbitmq.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>RabbitMQ高频</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/special/core.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>ASPNETCore笔试题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/special/net.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>NET笔试题基础篇</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/special/es.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>ElasticSearch</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-7c41cf7c><section class="VPSidebarItem level-0 collapsible collapsed" data-v-7c41cf7c data-v-ecbfd8bc><div class="item" role="button" tabindex="0" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><h2 class="text" data-v-ecbfd8bc>WPF面试</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-ecbfd8bc><span class="vpi-chevron-right caret-icon" data-v-ecbfd8bc></span></div></div><div class="items" data-v-ecbfd8bc><!--[--><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/wpf/wpf_basepaper1.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>基础面试</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1 collapsible collapsed" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" role="button" tabindex="0" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><h3 class="text" data-v-ecbfd8bc>核心面试</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-ecbfd8bc><span class="vpi-chevron-right caret-icon" data-v-ecbfd8bc></span></div></div><div class="items" data-v-ecbfd8bc><!--[--><div class="VPSidebarItem level-2 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/wpf/wpf_basepaper2_1.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>初级</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/wpf/wpf_basepaper2_2.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>中级</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/wpf/wpf_basepaper2_3.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>高级</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section></div><div class="no-transition group" data-v-7c41cf7c><section class="VPSidebarItem level-0 collapsible collapsed" data-v-7c41cf7c data-v-ecbfd8bc><div class="item" role="button" tabindex="0" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><h2 class="text" data-v-ecbfd8bc>上位机面试</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-ecbfd8bc><span class="vpi-chevron-right caret-icon" data-v-ecbfd8bc></span></div></div><div class="items" data-v-ecbfd8bc><!--[--><div class="VPSidebarItem level-1 is-link" data-v-ecbfd8bc data-v-ecbfd8bc><div class="item" data-v-ecbfd8bc><div class="indicator" data-v-ecbfd8bc></div><a class="VPLink link link" href="/interview/upper_computer/tcp.html" data-v-ecbfd8bc><!--[--><p class="text" data-v-ecbfd8bc>基础面试</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-3efcb1ce data-v-66a16a78><div class="VPDoc has-sidebar has-aside" data-v-66a16a78 data-v-6dff760d><!--[--><!--]--><div class="container" data-v-6dff760d><div class="aside" data-v-6dff760d><div class="aside-curtain" data-v-6dff760d></div><div class="aside-container" data-v-6dff760d><div class="aside-content" data-v-6dff760d><div class="VPDocAside" data-v-6dff760d data-v-a8d7bfb8><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-a8d7bfb8 data-v-2a6fc259><div class="content" data-v-2a6fc259><div class="outline-marker" data-v-2a6fc259></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-2a6fc259>页面导航</div><ul class="VPDocOutlineItem root" data-v-2a6fc259 data-v-604603b9><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-a8d7bfb8></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-6dff760d><div class="content-container" data-v-6dff760d><!--[--><!--]--><main class="main" data-v-6dff760d><div style="position:relative;" class="vp-doc _interview_special_net" data-v-6dff760d><div><h2 id="c-net笔试题基础篇" tabindex="-1">C#.NET笔试题基础篇 <a class="header-anchor" href="#c-net笔试题基础篇" aria-label="Permalink to &quot;C#.NET笔试题基础篇&quot;">​</a></h2><h3 id="c-中堆和栈的区别" tabindex="-1">C#中堆和栈的区别？ <a class="header-anchor" href="#c-中堆和栈的区别" aria-label="Permalink to &quot;C#中堆和栈的区别？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>在C#中，堆和栈是两种不同的内存分配方式。堆是由程序员控制的内存区域，通常使用<code>new</code>关键字分配，用于存放对象实例，而栈是由编译器自动管理的内存区域，用于存放局部变量和调用函数时的上下文信息。堆内存的生命周期需要通过垃圾回收器(GC)来回收，而栈内存则在函数调用结束后自动释放。</p></details><h3 id="c-中的委托是什么-事件是不是一种委托" tabindex="-1">C#中的委托是什么？事件是不是一种委托？ <a class="header-anchor" href="#c-中的委托是什么-事件是不是一种委托" aria-label="Permalink to &quot;C#中的委托是什么？事件是不是一种委托？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>C#中的委托是一种特殊的类型，它可以持有对方法的引用。委托允许将方法作为参数传递给其他方法，或者将方法作为回调方法存储起来。事件是基于委托的概念实现的，是一种特殊的委托，用于处理对象状态改变时的通知机制。</p></details><h3 id="c-静态构造函数特点是什么" tabindex="-1">C#静态构造函数特点是什么？ <a class="header-anchor" href="#c-静态构造函数特点是什么" aria-label="Permalink to &quot;C#静态构造函数特点是什么？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>C#中的静态构造函数是不带任何参数的构造函数，它在任何实例构造函数之前被执行，且在类第一次加载时只执行一次。静态构造函数用于初始化类的静态成员。</p></details><h3 id="cts、cls、clr分别作何解释" tabindex="-1">CTS、CLS、CLR分别作何解释 <a class="header-anchor" href="#cts、cls、clr分别作何解释" aria-label="Permalink to &quot;CTS、CLS、CLR分别作何解释&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>CTS（Common Type System）是.NET中的通用类型系统，它定义了所有.NET语言共同使用的类型。CLS（Common Language Specification）是.NET的通用语言规范，确保不同语言编写的代码能够互操作。CLR（Common Language Runtime）是.NET的公共语言运行时，负责执行.NET程序，提供垃圾回收、类型检查等功能。</p></details><h3 id="c-中什么是值类型与引用类型" tabindex="-1">C#中什么是值类型与引用类型？ <a class="header-anchor" href="#c-中什么是值类型与引用类型" aria-label="Permalink to &quot;C#中什么是值类型与引用类型？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>在C#中，值类型包括结构（struct）、枚举（enum）等，它们存储在栈上，被复制传递。引用类型包括类（class）、接口（interface）、数组等，它们存储在堆上，通过引用传递。</p></details><h3 id="请详述在c-中类-class-与结构-struct-的异同" tabindex="-1">请详述在C#中类(<code>class</code>)与结构(struct)的异同？ <a class="header-anchor" href="#请详述在c-中类-class-与结构-struct-的异同" aria-label="Permalink to &quot;请详述在C#中类(`class`)与结构(struct)的异同？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>类和结构在C#中都可以定义自定义数据类型，但它们有以下主要区别：类是引用类型，可以有继承、实现接口，且不是所有的类都能被实例化；结构是值类型，不能被继承，可以有接口，且所有的结构都可以被实例化。类可以有静态成员，而结构不能有静态构造函数。</p></details><h3 id="new关键字的作用" tabindex="-1">new关键字的作用 <a class="header-anchor" href="#new关键字的作用" aria-label="Permalink to &quot;new关键字的作用&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p><code>new</code>关键字在C#中用于创建对象实例或调用构造函数。它分配内存，并返回一个指向新对象的引用。</p></details><h3 id="int-和int有什么区别" tabindex="-1">int?和int有什么区别 <a class="header-anchor" href="#int-和int有什么区别" aria-label="Permalink to &quot;int?和int有什么区别&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p><code>int?</code>是可空的整型（<code>Nullable&lt;int&gt;</code>），它可以存储<code>int</code>类型的值，也可以存储<code>null</code>值。而<code>int</code>是值类型，不能存储<code>null</code>。</p></details><h3 id="c-中值传递与引用传递的区别是什么" tabindex="-1">C#中值传递与引用传递的区别是什么？ <a class="header-anchor" href="#c-中值传递与引用传递的区别是什么" aria-label="Permalink to &quot;C#中值传递与引用传递的区别是什么？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>值传递会复制变量的值到新的位置，对参数的修改不会影响到原始变量。引用传递则传递变量的内存地址，对参数的修改会影响到原始变量。</p></details><h3 id="c-中参数传递-ref-与-out-的区别" tabindex="-1">C#中参数传递 ref 与 out 的区别？ <a class="header-anchor" href="#c-中参数传递-ref-与-out-的区别" aria-label="Permalink to &quot;C#中参数传递 ref 与 out 的区别？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p><code>ref</code>和<code>out</code>关键字都用于按引用传递参数，但<code>ref</code>要求变量在传递前必须被初始化，而<code>out</code>则不需要。<code>out</code>参数在方法内部必须被赋值，而<code>ref</code>则没有这个要求。</p></details><h3 id="c-中什么是装箱和拆箱" tabindex="-1">C#中什么是装箱和拆箱？ <a class="header-anchor" href="#c-中什么是装箱和拆箱" aria-label="Permalink to &quot;C#中什么是装箱和拆箱？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>装箱是将值类型转换为引用类型的过程，通常发生在将值类型赋给引用类型变量时。拆箱是将引用类型转换回值类型的过程，需要显式转换。</p></details><h3 id="c-实现多态的过程中-overload重载与override重写的区别" tabindex="-1">C#实现多态的过程中 overload重载与override重写的区别？ <a class="header-anchor" href="#c-实现多态的过程中-overload重载与override重写的区别" aria-label="Permalink to &quot;C#实现多态的过程中 overload重载与override重写的区别？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>重载（overload）是方法名相同，参数不同的方法，用于实现同一个类中不同参数的多个方法。重写（override）是派生类中对基类虚方法的实现，用于改变方法的行为。</p></details><h3 id="c-中static关键字的作用" tabindex="-1">C# 中static关键字的作用？ <a class="header-anchor" href="#c-中static关键字的作用" aria-label="Permalink to &quot;C# 中static关键字的作用？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p><code>static</code>关键字用于定义类的静态成员，这些成员属于类本身，而不是类的实例。静态成员可以通过类名直接访问，不需要创建类的实例。</p></details><h3 id="c-成员变量和成员函数前加static的作用" tabindex="-1">C# 成员变量和成员函数前加static的作用？ <a class="header-anchor" href="#c-成员变量和成员函数前加static的作用" aria-label="Permalink to &quot;C# 成员变量和成员函数前加static的作用？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>在成员变量和成员函数前加<code>static</code>关键字，意味着它们是静态成员，属于类而不是类的实例。静态成员可以通过类名直接访问，通常用于存储类级别的数据，如配置信息。</p></details><h3 id="c-中索引器的实现过程-是否只能根据数字进行索引-请描述一下" tabindex="-1">C#中索引器的实现过程，是否只能根据数字进行索引，请描述一下 <a class="header-anchor" href="#c-中索引器的实现过程-是否只能根据数字进行索引-请描述一下" aria-label="Permalink to &quot;C#中索引器的实现过程，是否只能根据数字进行索引，请描述一下&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>索引器允许对象像数组一样通过索引来访问元素。在C#中，索引器不仅限于数字索引，也可以通过其他类型如字符串来索引。索引器通过定义<code>get</code>和<code>set</code>访问器来实现。</p></details><h3 id="c-中-abstract-class和interface有什么区别" tabindex="-1">C#中 abstract class和interface有什么区别？ <a class="header-anchor" href="#c-中-abstract-class和interface有什么区别" aria-label="Permalink to &quot;C#中 abstract class和interface有什么区别？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>抽象类（abstract class）可以包含部分实现的方法和属性，并且不能被实例化。接口（interface）是完全抽象的，只包含方法和属性的签名，不包含实现，可以被多个类实现。</p></details><h3 id="c-中用sealed修饰的类有什么特点" tabindex="-1">C#中用sealed修饰的类有什么特点？ <a class="header-anchor" href="#c-中用sealed修饰的类有什么特点" aria-label="Permalink to &quot;C#中用sealed修饰的类有什么特点？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>用<code>sealed</code>修饰的类不能被其他类继承。它可以包含虚方法，但是这些虚方法不能被子类重写。</p></details><h3 id="字符串中string-str-null和string-str-和string-str-string-empty的区别" tabindex="-1">字符串中string str=null和string str=&quot;&quot;和string str=string.Empty的区别 <a class="header-anchor" href="#字符串中string-str-null和string-str-和string-str-string-empty的区别" aria-label="Permalink to &quot;字符串中string str=null和string str=&quot;&quot;和string str=string.Empty的区别&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p><code>string str=null</code>声明了一个字符串引用，但是没有分配内存空间。<code>string str=&quot;&quot;</code>声明了一个空字符串，分配了内存空间。<code>string str=string.Empty</code>使用<code>string.Empty</code>常量，它是一个空的字符串字面量，通常用于初始化字符串变量。</p></details><h3 id="byte-b-a-byte-c-1-byte-d-ab-byte-e-啊-byte-g-256-这些变量有些错误是错在哪里" tabindex="-1">byte b = &#39;a&#39;; byte c = 1; byte d = &#39;ab&#39;; byte e = &#39;啊&#39;; byte g = 256; 这些变量有些错误是错在哪里？ <a class="header-anchor" href="#byte-b-a-byte-c-1-byte-d-ab-byte-e-啊-byte-g-256-这些变量有些错误是错在哪里" aria-label="Permalink to &quot;byte b = &#39;a&#39;; byte c = 1; byte d = &#39;ab&#39;; byte e = &#39;啊&#39;; byte g = 256; 这些变量有些错误是错在哪里？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>这些变量声明中的错误包括：</p><ul><li><code>byte b = &#39;a&#39;;</code>：正确，&#39;a&#39;是ASCII字符，可以赋值给byte。</li><li><code>byte c = 1;</code>：正确，整数字面量可以直接赋值给byte。</li><li><code>byte d = &#39;ab&#39;;</code>：错误，&#39;ab&#39;是两个字符，不能赋值给byte。</li><li><code>byte e = &#39;啊&#39;;</code>：错误，&#39;啊&#39;是一个多字节字符，不能赋值给byte。</li><li><code>byte g = 256;</code>：错误，256超出了byte的取值范围（0-255）。</li></ul></details><h3 id="string和stringbuilder的区别-两者性能的比较" tabindex="-1">string和StringBuilder的区别，两者性能的比较 <a class="header-anchor" href="#string和stringbuilder的区别-两者性能的比较" aria-label="Permalink to &quot;string和StringBuilder的区别，两者性能的比较&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p><code>string</code>是不可变的引用类型，每次修改都会创建新的字符串对象。<code>StringBuilder</code>是可变的，可以在原有基础上进行修改，不需要创建新对象。在频繁修改字符串内容的场景下，<code>StringBuilder</code>性能更优。</p></details><h3 id="什么是扩展方法" tabindex="-1">什么是扩展方法？ <a class="header-anchor" href="#什么是扩展方法" aria-label="Permalink to &quot;什么是扩展方法？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>扩展方法是在现有类型上添加新方法的一种技术，它通过静态类中的静态方法实现，并且第一个参数使用<code>this</code>关键字修饰，表示扩展方法的作用对象。</p></details><h3 id="特性是什么-如何使用" tabindex="-1">特性是什么？如何使用？ <a class="header-anchor" href="#特性是什么-如何使用" aria-label="Permalink to &quot;特性是什么？如何使用？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>特性（Attribute）是一种提供元数据的方式，它可以修饰程序的元素（如类、方法等），并在运行时通过反射获取。特性用于描述程序元素的行为或应用的配置信息。</p></details><h3 id="什么叫应用程序域-appdomain" tabindex="-1">什么叫应用程序域（AppDomain） <a class="header-anchor" href="#什么叫应用程序域-appdomain" aria-label="Permalink to &quot;什么叫应用程序域（AppDomain）&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>应用程序域（AppDomain）是.NET中的一种隔离机制，用于将一个应用程序范围内创建的对象与在其他应用程序中创建的对象隔离，确保运行时行为的可预测性。它可以在单个进程中创建多个应用程序域。</p></details><h3 id="byte-a-255-a-5-a的值是多少" tabindex="-1">byte a = 255; a += 5; a的值是多少？ <a class="header-anchor" href="#byte-a-255-a-5-a的值是多少" aria-label="Permalink to &quot;byte a = 255; a += 5; a的值是多少？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>由于byte的数据范围是0到255，当a的值达到255后再增加5，将会发生溢出，结果是0。</p></details><h3 id="const和readonly有什么区别" tabindex="-1">const和readonly有什么区别？ <a class="header-anchor" href="#const和readonly有什么区别" aria-label="Permalink to &quot;const和readonly有什么区别？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p><code>const</code>是编译时常量，必须在声明时初始化，不能被修改。<code>readonly</code>是运行时常量，可以在声明时或在构造函数中初始化，一旦赋值后不能被修改。<code>const</code>可以用于修饰类字段和局部变量，而<code>readonly</code>只能用于修饰类字段。</p></details><h3 id="什么是强类型-什么是弱类型-哪种更好些-为什么" tabindex="-1">什么是强类型，什么是弱类型？哪种更好些？为什么？ <a class="header-anchor" href="#什么是强类型-什么是弱类型-哪种更好些-为什么" aria-label="Permalink to &quot;什么是强类型，什么是弱类型？哪种更好些？为什么？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>强类型（Strongly Typed）是指在编译时检查类型，类型一旦声明就不能更改。弱类型（Weakly Typed）是指在运行时确定类型，类型可以在运行时更改。强类型更安全，因为它可以提前发现类型错误，提高代码的可读性和可维护性。弱类型更灵活，但容易在运行时出现类型错误。</p></details><h3 id="math-round-11-5-等于多少" tabindex="-1">Math.Round(11.5)等于多少？ <a class="header-anchor" href="#math-round-11-5-等于多少" aria-label="Permalink to &quot;Math.Round(11.5)等于多少？&quot;">​</a></h3><p>Math.Round(-11.5)等于多少？</p><details class="details custom-block"><summary>解答</summary><p><code>Math.Round(11.5)</code>的结果是12，<code>Math.Round(-11.5)</code>的结果是-12。<code>Math.Round</code>方法按照四舍五入的原则进行数值的舍入。</p></details><h3 id="和-的区别" tabindex="-1">&amp;和&amp;&amp;的区别 <a class="header-anchor" href="#和-的区别" aria-label="Permalink to &quot;&amp;和&amp;&amp;的区别&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p><code>&amp;</code>是按位与运算符，用于位运算。<code>&amp;&amp;</code>是逻辑与运算符，用于布尔逻辑运算。<code>&amp;&amp;</code>具有短路特性，如果第一个操作数为<code>false</code>，则不会计算第二个操作数。</p></details><h3 id="i-和-i有什么区别" tabindex="-1">i++和++i有什么区别？ <a class="header-anchor" href="#i-和-i有什么区别" aria-label="Permalink to &quot;i++和++i有什么区别？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p><code>i++</code>是后缀自增运算符，先返回变量i的原始值，然后i的值加1。<code>++i</code>是前缀自增运算符，先将i的值加1，然后返回增加后的值。</p></details><h3 id="as和is的区别" tabindex="-1">as和is的区别 <a class="header-anchor" href="#as和is的区别" aria-label="Permalink to &quot;as和is的区别&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p><code>is</code>用于检查对象是否兼容特定类型，但不执行类型转换。<code>as</code>用于尝试将对象转换为特定类型，如果转换失败则返回<code>null</code>。<code>as</code>比<code>is</code>更高效，因为它只需进行一次类型兼容性检查。</p></details><h3 id="谈谈final、finally的区别" tabindex="-1">谈谈final、finally的区别 <a class="header-anchor" href="#谈谈final、finally的区别" aria-label="Permalink to &quot;谈谈final、finally的区别&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p><code>final</code>是一个类或方法的修饰符，表示它不能被继承或重写。<code>finally</code>是异常处理的一部分，与<code>try</code>和<code>catch</code>一起使用，无论是否发生异常，<code>finally</code>块中的代码都会被执行。</p></details><h3 id="简述c-成员修饰符" tabindex="-1">简述C#成员修饰符 <a class="header-anchor" href="#简述c-成员修饰符" aria-label="Permalink to &quot;简述C#成员修饰符&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>C#中的成员修饰符用于控制成员的访问级别和行为，包括<code>public</code>、<code>private</code>、<code>protected</code>、<code>internal</code>、<code>static</code>、<code>readonly</code>、<code>const</code>等。</p></details><h3 id="什么是匿名类-有什么好处" tabindex="-1">什么是匿名类，有什么好处？ <a class="header-anchor" href="#什么是匿名类-有什么好处" aria-label="Permalink to &quot;什么是匿名类，有什么好处？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>匿名类是没有名称的类，通常用于实现一次性使用的简单对象。它的好处是简化代码，避免复杂的类定义，提高代码的灵活性和简洁性。</p></details><h3 id="什么是逐字字符串" tabindex="-1">什么是逐字字符串 <a class="header-anchor" href="#什么是逐字字符串" aria-label="Permalink to &quot;什么是逐字字符串&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>逐字字符串（Verbatim String）是C#中一种特殊类型的字符串，它忽略字符串中的转义字符，直接按字面意义解释。在字符串前加上<code>@</code>符号来定义逐字字符串。</p></details><h3 id="列举你知道的数字格式化转换" tabindex="-1">列举你知道的数字格式化转换 <a class="header-anchor" href="#列举你知道的数字格式化转换" aria-label="Permalink to &quot;列举你知道的数字格式化转换&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>数字格式化转换包括但不限于：</p><ul><li>标准格式化字符串，如<code>&quot;N&quot;</code>表示数字格式化为带有逗号分隔的数值。</li><li>自定义格式化字符串，如<code>&quot;{0:000.00}&quot;</code>表示数字格式化为三位整数部分和两位小数。</li><li>内置快捷方式，如<code>ToString(&quot;C&quot;)</code>表示货币格式。</li><li>格式化方法，如<code>string.Format(&quot;{0:0.00}&quot;, 1234.5678)</code>。</li></ul></details><h3 id="说说字符串拼接、字符串内插法" tabindex="-1">说说字符串拼接、字符串内插法 <a class="header-anchor" href="#说说字符串拼接、字符串内插法" aria-label="Permalink to &quot;说说字符串拼接、字符串内插法&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>字符串拼接可以使用<code>+</code>运算符或<code>String.Concat</code>方法将多个字符串连接成一个新的字符串。字符串内插法是一种方便的字符串格式化技术，使用<code>$&quot;&quot;</code>表示法，可以在字符串中直接嵌入变量或表达式。</p></details><h3 id="什么是虚函数-什么是抽象函数" tabindex="-1">什么是虚函数？什么是抽象函数？ <a class="header-anchor" href="#什么是虚函数-什么是抽象函数" aria-label="Permalink to &quot;什么是虚函数？什么是抽象函数？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>虚函数（Virtual Function）是可以在派生类中被重写的函数。抽象函数（Abstract Function）是不能被实例化的抽象类中的函数，必须在非抽象派生类中被重写。</p></details><h3 id="什么是webservice" tabindex="-1">什么是WebService? <a class="header-anchor" href="#什么是webservice" aria-label="Permalink to &quot;什么是WebService?&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>WebService是基于网络的分布式模块化组件，它执行特定的任务并遵守具体的技术规范，这些规范使得WebService能与其他兼容的组件进行互操作。</p></details><h3 id="ado-net常用对象有哪些" tabindex="-1">ADO.NET常用对象有哪些？ <a class="header-anchor" href="#ado-net常用对象有哪些" aria-label="Permalink to &quot;ADO.NET常用对象有哪些？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>ADO.NET中的常用对象包括<code>Connection</code>、<code>Command</code>、<code>DataReader</code>、<code>DataAdapter</code>和<code>DataSet</code>，它们用于数据库连接、命令执行、数据读取和数据缓存等操作。</p></details><h3 id="在asp-net中所有的自定义用户控件都必须继承自什么" tabindex="-1">在ASP.NET中所有的自定义用户控件都必须继承自什么？ <a class="header-anchor" href="#在asp-net中所有的自定义用户控件都必须继承自什么" aria-label="Permalink to &quot;在ASP.NET中所有的自定义用户控件都必须继承自什么？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>在ASP.NET中，所有的自定义用户控件都必须继承自<code>System.Web.UI.Control</code>类。</p></details><h3 id="在-net托管代码中我们不必担心内存泄漏-这是为什么" tabindex="-1">在.NET托管代码中我们不必担心内存泄漏，这是为什么？ <a class="header-anchor" href="#在-net托管代码中我们不必担心内存泄漏-这是为什么" aria-label="Permalink to &quot;在.NET托管代码中我们不必担心内存泄漏，这是为什么？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>在.NET托管代码中，内存管理是由.NET运行时环境负责的，它使用垃圾回收器（GC）来自动回收不再使用的对象，从而防止内存泄漏。</p></details><h3 id="什么是mvc模式" tabindex="-1">什么是MVC模式 <a class="header-anchor" href="#什么是mvc模式" aria-label="Permalink to &quot;什么是MVC模式&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>MVC（Model-View-Controller）模式是一种设计模式，用于分离应用程序的业务逻辑、用户界面和控制逻辑。模型（Model）负责数据和业务逻辑，视图（View）负责显示，控制器（Controller）负责接收用户输入并调用模型和视图去完成用户的请求。</p></details><h3 id="能foreach遍历访问的对象的要求" tabindex="-1">能foreach遍历访问的对象的要求 <a class="header-anchor" href="#能foreach遍历访问的对象的要求" aria-label="Permalink to &quot;能foreach遍历访问的对象的要求&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>可以使用<code>foreach</code>遍历访问的对象必须实现<code>IEnumerable</code>接口或声明<code>GetEnumerator</code>方法，这样才能支持迭代器模式。</p></details><h3 id="什么是反射" tabindex="-1">什么是反射？ <a class="header-anchor" href="#什么是反射" aria-label="Permalink to &quot;什么是反射？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>反射是.NET中的一种机制，允许程序在运行时检查和使用类型信息。反射可以动态地创建类型的实例，设置现有对象的类型或获取现有对象的类型，调用类型的方法和访问类型的字段属性。</p></details><h3 id="orm中的延迟加载与直接加载有什么异同" tabindex="-1">ORM中的延迟加载与直接加载有什么异同？ <a class="header-anchor" href="#orm中的延迟加载与直接加载有什么异同" aria-label="Permalink to &quot;ORM中的延迟加载与直接加载有什么异同？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>延迟加载（Lazy Loading）是在真正需要数据时才进行加载，减少了不必要的数据加载。直接加载（Eager Loading）是在查询时就加载所有相关数据。延迟加载可以提高性能，但可能导致N+1查询问题；直接加载一次性加载所有数据，但可能增加不必要的数据加载。</p></details><h3 id="简述func与action的区别" tabindex="-1">简述Func与Action的区别？ <a class="header-anchor" href="#简述func与action的区别" aria-label="Permalink to &quot;简述Func与Action的区别？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p><code>Func</code>是有返回值的委托，而<code>Action</code>是没有返回值的委托。<code>Func</code>可以指定返回类型和参数类型，<code>Action</code>只能指定参数类型。</p></details><h3 id="_23种设计模式分别叫什么名称-如何分类" tabindex="-1">23种设计模式分别叫什么名称，如何分类？ <a class="header-anchor" href="#_23种设计模式分别叫什么名称-如何分类" aria-label="Permalink to &quot;23种设计模式分别叫什么名称，如何分类？&quot;">​</a></h3><details class="details custom-block"><summary>解答</summary><p>设计模式分为三类：创建型、行为型和结构型。</p><ul><li>创建型：单例模式、工厂模式、建造者模式、原型模式、工厂方法模式。</li><li>行为型：策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。</li><li>结构型：适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。</li></ul></details></div></div></main><footer class="VPDocFooter" data-v-6dff760d data-v-9cfeacb9><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-9cfeacb9><span class="visually-hidden" id="doc-footer-aria-label" data-v-9cfeacb9>Pager</span><div class="pager" data-v-9cfeacb9><a class="VPLink link pager-link prev" href="/interview/special/core.html" data-v-9cfeacb9><!--[--><span class="desc" data-v-9cfeacb9>上一页</span><span class="title" data-v-9cfeacb9>ASPNETCore笔试题</span><!--]--></a></div><div class="pager" data-v-9cfeacb9><a class="VPLink link pager-link next" href="/interview/special/es.html" data-v-9cfeacb9><!--[--><span class="desc" data-v-9cfeacb9>下一页</span><span class="title" data-v-9cfeacb9>ElasticSearch</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-3efcb1ce data-v-b5994933><div class="container" data-v-b5994933><!----><p class="copyright" data-v-b5994933>版权所有 ©2019-2025 金信通科技有限公司&emsp; <a href="https://beian.miit.gov.cn/" target="_blank">川ICP备2024135086号</a> <br />联系人： 余总 15883753897</p></div></footer><!--[--><!--]--></div></div>
    <script>window.__VP_HASH_MAP__=JSON.parse("{\"aboutme.md\":\"xypFaIxq\",\"article_centos-nginx-cerbot-ssl.md\":\"Bghh5cvC\",\"article_delete_mode_moules.md\":\"bUyv7cPN\",\"article_docker.md\":\"DvkDT0CV\",\"article_frontend.md\":\"BsnggFV0\",\"article_globalusing.md\":\"ROADU40-\",\"article_httpclient.md\":\"DxV4kYhT\",\"article_index.md\":\"DNJHo8iy\",\"article_intellisense.md\":\"BOL85IBz\",\"article_log.md\":\"b_onST8k\",\"article_nuget-remove.md\":\"BDgYI837\",\"article_nvm.md\":\"CRJ5nqAx\",\"article_rabbitmq.md\":\"uhHxzeV3\",\"article_update.md\":\"CUkMuFnL\",\"article_usejwt.md\":\"CF4IH1Ki\",\"command_certbot.md\":\"B-Pk88Uz\",\"command_docker.md\":\"DDNBaSjo\",\"command_dotnet.md\":\"BdCtO8MR\",\"command_git.md\":\"BOWPn7sN\",\"command_index.md\":\"u8qbd1DR\",\"command_linux.md\":\"BtLiT2uN\",\"command_nginx.md\":\"BTnakFKj\",\"command_pm2.md\":\"C9B3mZis\",\"command_rabbitmq.md\":\"iaP7n_ti\",\"command_redis.md\":\"DcfeKyof\",\"command_sqlserver.md\":\"CZVo0bcJ\",\"command_vim.md\":\"B9V310r0\",\"course_index.md\":\"bYVGzLoA\",\"course_learn_design_00_index.md\":\"6p6tBX4O\",\"course_learn_design_01_singleton.md\":\"DVcOo2uk\",\"course_learn_design_02_factorymethod.md\":\"1WQQCefb\",\"course_learn_design_03_abstractfactory.md\":\"BRE3Ifmr\",\"course_learn_design_04_builder.md\":\"cB3g3EVY\",\"course_learn_design_05_prototype.md\":\"Ca6iCfyL\",\"course_learn_design_06_adapter.md\":\"BQ4e6tCV\",\"course_learn_design_07_bridge.md\":\"BFFsZrse\",\"course_learn_design_08_composite.md\":\"CPdO9rk5\",\"course_learn_design_09_decorator.md\":\"CQtrIwMa\",\"course_learn_design_10_facade.md\":\"BaEhklQy\",\"course_learn_design_11_flyweight.md\":\"BO1tJg-a\",\"course_learn_design_12_proxy.md\":\"8kYWZM_G\",\"course_learn_design_13_chainofresponsibility.md\":\"CCyLzUBI\",\"course_learn_design_14_command.md\":\"bP8NWTfM\",\"course_learn_design_15_interpreter.md\":\"7ZPN9qUJ\",\"course_learn_design_16_iterator.md\":\"CS3hMfA9\",\"course_learn_design_17_mediator.md\":\"mMXvVGL8\",\"course_learn_design_18_memento.md\":\"CS-3g5_S\",\"course_learn_design_19_observer.md\":\"Vny5TR4G\",\"course_learn_design_20_state.md\":\"BRY3OjuR\",\"course_learn_design_21_strategy.md\":\"CH5pwSvF\",\"course_learn_design_22_templatemethod.md\":\"CxS34ofw\",\"course_learn_design_23_visitor.md\":\"C8HlFoaw\",\"course_learn_docker_01_introduce.md\":\"DWAaJX2x\",\"course_learn_docker_designpattern.md\":\"7Uki99dd\",\"course_learn_docker_dockerlearn.md\":\"CoEZru73\",\"course_learn_es_01_introduce.md\":\"NL32r-o5\",\"course_learn_es_02_install.md\":\"7TOcoD9M\",\"course_learn_es_03_simple-curd.md\":\"DmYioOuc\",\"course_learn_es_04_hight-curd.md\":\"DzfUozle\",\"course_learn_es_05_net-curd.md\":\"D61OVK4W\",\"course_learn_es_07_cluster.md\":\"fBgTe3zs\",\"course_learn_es_08_high-concept.md\":\"CcaW6Jtx\",\"course_learn_es_09_distributed.md\":\"BrupOegx\",\"course_learn_es_10_shards-control.md\":\"Cp6nOKgV\",\"course_learn_es_11_shards-principle.md\":\"CtkpMIzb\",\"course_learn_es_12. elasticsearch - 多框架集成.md\":\"BbbP5UyG\",\"course_learn_es_12_analysis.md\":\"BE2TtHMm\",\"course_learn_es_13_handle.md\":\"ACn2i9rc\",\"course_learn_es_14_optimization.md\":\"DR3X4cmU\",\"course_learn_js_1_base copy 2.md\":\"Cmkh4X0b\",\"course_learn_js_1_base.md\":\"DpUjcv9f\",\"course_learn_js_1_base_bak.md\":\"CCpOz7RU\",\"course_learn_js_2_advaned copy.md\":\"DIhoveQY\",\"course_learn_js_2_advaned.md\":\"DEEQqEod\",\"course_learn_k8s_01_introduce.md\":\"CvqcD7L4\",\"course_learn_path_csharp.md\":\"B0a4x4DL\",\"course_learn_path_dotnetskill.md\":\"DOCzzvxY\",\"course_learn_path_index.md\":\"DUCkpDLe\",\"course_learn_path_upper_computer.md\":\"BnX-WG4P\",\"course_learn_path_webapi.md\":\"BJDC2d9A\",\"course_learn_path_wpf.md\":\"Ckal5wXk\",\"course_learn_rabbit_01_middleware.md\":\"IQpwVqCJ\",\"course_learn_rabbit_02_mq.md\":\"Dx5vrg5A\",\"course_learn_rabbit_03_introduce.md\":\"CUJgC_JM\",\"course_learn_rabbit_04_install.md\":\"Bn93LEpn\",\"course_learn_rabbit_05_basic.md\":\"BsNdT8Bc\",\"course_learn_rabbit_06_ackpub.md\":\"CD8SkqEM\",\"course_learn_rabbit_07_exchange.md\":\"BOSTRxOH\",\"course_learn_rabbit_08_dead.md\":\"CIiJoYh6\",\"course_learn_rabbit_09_delay.md\":\"DyaNJehA\",\"course_learn_rabbit_10_hightpub.md\":\"BSDvPvzD\",\"course_learn_rabbit_11_priority.md\":\"CZFgmjse\",\"course_learn_redis_01_introduce.md\":\"lAH7p6vP\",\"course_learn_redis_02_install.md\":\"CI_6DAkI\",\"course_learn_redis_03_data-types.md\":\"C-sFZOhK\",\"course_learn_redis_04_new-types.md\":\"fQC4EJmw\",\"course_learn_redis_05_configuration.md\":\"C0ulJkIb\",\"course_learn_redis_06_publish-subscribe.md\":\"Cix_w7XF\",\"course_learn_redis_07_net.md\":\"DdsxhOaj\",\"course_learn_redis_08_affair.md\":\"CwfAeURs\",\"course_learn_redis_09_persistence.md\":\"B-XRWvpt\",\"course_learn_redis_10_master-slave.md\":\"BxBSuhbo\",\"course_learn_redis_11_cluster.md\":\"D6b-fezs\",\"course_learn_redis_12_application.md\":\"CQnDC3oG\",\"course_learn_redis_13_distributed-lock.md\":\"DpBrwn3l\",\"course_learn_redis_30.redis - spring data redis.md\":\"Bg2x8C_J\",\"course_learn_sort_01_bubblesort.md\":\"rsY6eX3t\",\"course_learn_sort_02_selectionsort.md\":\"CkDQP4gt\",\"course_learn_sort_03_insertionsort.md\":\"RPmTmZH7\",\"course_learn_sort_04_shellsort.md\":\"ftYHFLZW\",\"course_learn_sort_05_mergesort.md\":\"BDq6cVaT\",\"course_learn_sort_06_quicksort.md\":\"DPrn3Psf\",\"course_learn_sort_07_heapsort.md\":\"J563DbfJ\",\"course_learn_sort_08_countingsort.md\":\"DgK1IXbW\",\"course_learn_sort_09_bucketsort.md\":\"C8dDAJlM\",\"course_learn_sort_10_radixsort.md\":\"nNI4lowy\",\"course_learn_ts_1_type.md\":\"2sLfBjJ4\",\"course_learn_ts_2_interface.md\":\"DSUjwK3L\",\"course_learn_ts_3_class.md\":\"jCtCdxrk\",\"course_learn_ts_4_function.md\":\"09RSIp5o\",\"course_learn_ts_5_generic.md\":\"zYF_-DAN\",\"course_learn_ts_6_other.md\":\"ByPck4O_\",\"guid_auth.md\":\"DIyQpEZ7\",\"guid_cache.md\":\"COuVZN91\",\"guid_conf-options_configuration.md\":\"C4-8NWsn\",\"guid_conf-options_options.md\":\"yK7iGQMD\",\"guid_cors.md\":\"CI_kZfxk\",\"guid_datavalidation.md\":\"Dr5Yvt2-\",\"guid_dependency-injection.md\":\"D6J4rsMZ\",\"guid_deployment_docker-deployment.md\":\"rDcD4Yil\",\"guid_deployment_linux-pm2-deployment.md\":\"R1YnLmLI\",\"guid_deployment_linux-systemd-deployment.md\":\"BE7NHHu5\",\"guid_deployment_supervisor-dotnet.md\":\"C_LtL8Gy\",\"guid_deployment_win-iis-deployment.md\":\"DGum87JZ\",\"guid_easy-use.md\":\"zFnP_iYc\",\"guid_exception-handling.md\":\"CQBXwUfU\",\"guid_exception.md\":\"tYrOQ2Lm\",\"guid_filter.md\":\"BjnpS61h\",\"guid_index.md\":\"Dy2usELz\",\"guid_intro.md\":\"CAqKDWHe\",\"guid_learn-path.md\":\"CDUdnsgD\",\"guid_log.md\":\"BwfveYLO\",\"guid_mapper.md\":\"DQAK2xp9\",\"guid_middleware_index.md\":\"BGdLK2W6\",\"guid_middleware_middleware.md\":\"zINdUd9X\",\"guid_openapi_standard.md\":\"COuI1l2E\",\"guid_openapi_swagger.md\":\"BT8axDut\",\"guid_orm_ef.md\":\"56WULw9z\",\"guid_orm_sqlsugar.md\":\"BiWFooEZ\",\"guid_other_sll.md\":\"BJhgQExd\",\"guid_quick-start.md\":\"8rJXoN6p\",\"guid_service_background-service.md\":\"VSigerwi\",\"guid_service_install.md\":\"DLpKst61\",\"guid_service_quartz-service.md\":\"huAo9HC6\",\"guid_service_topshelf.md\":\"BqgcvqjZ\",\"guid_signalr.md\":\"CDzrsNdZ\",\"guid_signalrdemo.md\":\"Boxzu3OO\",\"guid_swagger.md\":\"C19R_2TU\",\"index.md\":\"EwFlcPPh\",\"interview_basepaper1.md\":\"ClWwKGjT\",\"interview_basepaper2.md\":\"DV4tYHZC\",\"interview_basepaper3.md\":\"XCZL7YkI\",\"interview_basepaper4.md\":\"UsnichHU\",\"interview_groupfriends25.md\":\"Buk-IGOh\",\"interview_index.md\":\"Dqc3P2Zw\",\"interview_intermediate1.md\":\"WYMfe99V\",\"interview_intermediate2.md\":\"aqpAXC7n\",\"interview_intermediate3.md\":\"LlwwP0tI\",\"interview_randompaper1.md\":\"DJQkuS15\",\"interview_randompaper2.md\":\"CzqrwnDI\",\"interview_special_core.md\":\"CiesZkt5\",\"interview_special_es.md\":\"BkcE5Vtm\",\"interview_special_mysql.md\":\"Cg2SXuq3\",\"interview_special_net.md\":\"BlA12oCH\",\"interview_special_rabbitmq.md\":\"CjIz6UXL\",\"interview_special_redis.md\":\"DVnNlG8B\",\"interview_special_sqlserver.md\":\"CBDvv3GW\",\"interview_upper_computer_tcp.md\":\"C32hehD5\",\"interview_wpf_wpf_basepaper1.md\":\"5y8HZM3m\",\"interview_wpf_wpf_basepaper2_1.md\":\"DIzExcYa\",\"interview_wpf_wpf_basepaper2_2.md\":\"2Y_z_-B4\",\"interview_wpf_wpf_basepaper2_3.md\":\"DzuE4fM9\",\"interview_yuehai.md\":\"D4IW3Lww\",\"interview_zhiying.md\":\"B-bQ5sg6\",\"netopensource_assembly_blazor.md\":\"hLFID5sc\",\"netopensource_assembly_maui.md\":\"D1KqXitx\",\"netopensource_assembly_winfrom.md\":\"Bm0KNl4J\",\"netopensource_assembly_wpf.md\":\"aLkZZTJl\",\"netopensource_index.md\":\"Bmia1SBJ\",\"netopensource_library_ai.md\":\"B5rZsifC\",\"netopensource_library_crawler.md\":\"BfXHQDIc\",\"netopensource_library_dotnetzip.md\":\"CHfm7EMh\",\"netopensource_library_email.md\":\"FYDSyYhd\",\"netopensource_library_encryption.md\":\"26acF_kW\",\"netopensource_library_excel.md\":\"Btfgrz8M\",\"netopensource_library_ftp.md\":\"Czrg40UW\",\"netopensource_library_media.md\":\"CsOyE144\",\"netopensource_library_orm.md\":\"D5Mbnat3\",\"netopensource_library_other.md\":\"Ddg4xIgF\",\"netopensource_library_pdf.md\":\"Cl0D-L5y\",\"netopensource_library_qrcode.md\":\"D_U-JPbU\",\"netopensource_library_redis.md\":\"Cb6x1AgO\",\"netopensource_library_taskdispath.md\":\"y3bQhVy2\",\"netopensource_library_tool.md\":\"N42MhIrK\",\"netopensource_library_word.md\":\"BaemOm8q\",\"netopensource_project_blazor.md\":\"BZHCBj-r\",\"netopensource_project_blog.md\":\"DyLZWylT\",\"netopensource_project_cms.md\":\"UyCKdjN8\",\"netopensource_project_other.md\":\"C2GvlxeD\",\"netopensource_project_shop.md\":\"CDGQ4v0J\",\"netopensource_project_web-admin.md\":\"BvE_WXx9\",\"netopensource_project_wpf.md\":\"D3TxSMcS\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"金信通智慧办公系统\",\"description\":\"档案与电子文档管理系统\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"管理系统使用\",\"link\":\"guid/intro\"},{\"text\":\"档案柜配置\",\"link\":\"/command/dotnet\"},{\"text\":\"小程序使用\",\"link\":\"/netopensource/\"},{\"text\":\"链接\",\"items\":[{\"text\":\"MalusAdmin\",\"link\":\"https://malus.dotnetshare.com\"},{\"text\":\"Malus(开源地址)\",\"link\":\"https://gitee.com/Pridejoy/MalusAdmin\"}]}],\"sidebar\":{\"/guid/\":[{\"text\":\"指南\",\"items\":[{\"text\":\"开始\",\"link\":\"/guid/intro\"},{\"text\":\"数据校验\",\"link\":\"/guid/datavalidation\"},{\"text\":\"配置与选项\",\"base\":\"/guid/conf-options\",\"items\":[{\"text\":\"配置\",\"link\":\"/configuration\"},{\"text\":\"选项\",\"link\":\"/options\"}]},{\"text\":\"跨域处理\",\"link\":\"/guid/cors\"},{\"text\":\"开放接口\",\"base\":\"/guid/openapi\",\"items\":[{\"text\":\"Swagger\",\"link\":\"/swagger\"},{\"text\":\"规范化返回值\",\"link\":\"/standard\"}]},{\"text\":\"数据库操作\",\"base\":\"/guid/orm\",\"items\":[{\"text\":\"SqlSugar\",\"link\":\"/sqlsugar\"},{\"text\":\"EF\",\"link\":\"/ef\"}],\"link\":\"\"},{\"text\":\"对象关系映射\",\"link\":\"/guid/mapper\"},{\"text\":\"异常处理\",\"link\":\"/guid/exception-handling\"},{\"text\":\"依赖注入/控制反转\",\"link\":\"/guid/dependency-injection\"},{\"text\":\"缓存管理\",\"link\":\"/guid/cache\"},{\"text\":\"安全鉴权\",\"link\":\"/guid/auth\"},{\"text\":\"日志管理\",\"link\":\"/guid/log\"},{\"text\":\"中间件\",\"link\":\"/guid/middleware/\"},{\"text\":\"实时应用\",\"link\":\"/guid/signalr\"},{\"text\":\"进程服务\",\"base\":\"/guid/service\",\"items\":[{\"text\":\"后台服务\",\"link\":\"/background-service\"},{\"text\":\"安装部署\",\"link\":\"/install\"}]},{\"text\":\"托管部署\",\"base\":\"/guid/deployment\",\"items\":[{\"text\":\"IIS部署\",\"link\":\"/win-iis-deployment\"},{\"text\":\"Docker部署\",\"link\":\"/docker-deployment\"},{\"text\":\"使用PM2守护\",\"link\":\"/linux-pm2-deployment\"},{\"text\":\"使用Supervisor守护\",\"link\":\"/supervisor-dotnet\"},{\"text\":\"使用Systemd守护\",\"link\":\"/linux-systemd-deployment\"}]}]}],\"/command/\":[{\"text\":\"常用软件安装和命令\",\"items\":[{\"text\":\"DotNet\",\"link\":\"/command/dotnet\"},{\"text\":\"Sqlserver\",\"link\":\"/command/sqlserver\"},{\"text\":\"Nginx\",\"link\":\"/command/nginx\"},{\"text\":\"Pm2\",\"link\":\"/command/pm2\"},{\"text\":\"Redis\",\"link\":\"/command/redis\"},{\"text\":\"RabbitMQ\",\"link\":\"/command/rabbitmq\"},{\"text\":\"Docker\",\"link\":\"/command/docker\"},{\"text\":\"Git\",\"link\":\"/command/git\"},{\"text\":\"Certbot\",\"link\":\"/command/certbot\"},{\"text\":\"Linux\",\"link\":\"/command/linux\"},{\"text\":\"Vim\",\"link\":\"/command/vim\"}]}],\"/netopensource/\":[{\"text\":\"工具库\",\"collapsed\":true,\"base\":\"/netopensource/library\",\"items\":[{\"text\":\"ORM\",\"link\":\"/orm\"},{\"text\":\"Zip\",\"link\":\"/dotnetzip\"},{\"text\":\"Excel\",\"link\":\"/excel\"},{\"text\":\"Word\",\"link\":\"/word\"},{\"text\":\"Pdf\",\"link\":\"/pdf\"},{\"text\":\"条形码二维码\",\"link\":\"/qrcode\"},{\"text\":\"工具库\",\"link\":\"/tool\"},{\"text\":\"Ftp\",\"link\":\"/ftp\"},{\"text\":\"爬虫\",\"link\":\"/crawler\"},{\"text\":\"Redis\",\"link\":\"/redis\"},{\"text\":\"加密解密\",\"link\":\"/encryption\"},{\"text\":\"邮件\",\"link\":\"/email\"},{\"text\":\"其他库\",\"link\":\"/other\"}]},{\"text\":\"组件库\",\"base\":\"/netopensource/assembly\",\"collapsed\":true,\"items\":[{\"text\":\"Wpf\",\"link\":\"/wpf\"},{\"text\":\"MAUI\",\"link\":\"/maui\"},{\"text\":\"Blazor\",\"link\":\"/blazor\"},{\"text\":\"WinForm\",\"link\":\"/winfrom\"}]},{\"text\":\"开源项目\",\"collapsed\":true,\"base\":\"/netopensource/project\",\"items\":[{\"text\":\"Web-后台管理\",\"link\":\"/web-admin\"},{\"text\":\"Shop\",\"link\":\"/shop\"},{\"text\":\"博客\",\"link\":\"/blog\"},{\"text\":\"CMS\",\"link\":\"/cms\"},{\"text\":\"WPF\",\"link\":\"/wpf\"},{\"text\":\"Blazor\",\"link\":\"/blazor\"},{\"text\":\"其他\",\"link\":\"/other\"}]}],\"/interview/\":[{\"text\":\"面试题\",\"base\":\"/interview\",\"collapsed\":true,\"items\":[{\"text\":\"基础试题1\",\"link\":\"/basepaper1\"},{\"text\":\"基础试题2\",\"link\":\"/basepaper2\"},{\"text\":\"基础试题3\",\"link\":\"/basepaper3\"},{\"text\":\"基础试题4\",\"link\":\"/basepaper4\"},{\"text\":\"随机试题1\",\"link\":\"/randompaper1\"},{\"text\":\"随机试题2\",\"link\":\"/randompaper2\"},{\"text\":\"中高级开发工程师\",\"link\":\"/intermediate1\"},{\"text\":\"群友25k面试题\",\"link\":\"/groupfriends25\"},{\"text\":\"某公司.NET面试题1\",\"link\":\"/intermediate3\"},{\"text\":\"某公司.NET面试题2\",\"link\":\"/zhiying\"},{\"text\":\"某物流公司高级面试题\",\"link\":\"/yuehai\"}]},{\"text\":\"专项面试\",\"base\":\"/interview/special\",\"collapsed\":true,\"items\":[{\"text\":\"Redis高频\",\"link\":\"/redis\"},{\"text\":\"Sqlserver高频\",\"link\":\"/sqlserver\"},{\"text\":\"Mysql高频\",\"link\":\"/mysql\"},{\"text\":\"RabbitMQ高频\",\"link\":\"/rabbitmq\"},{\"text\":\"ASPNETCore笔试题\",\"link\":\"/core\"},{\"text\":\"NET笔试题基础篇\",\"link\":\"/net\"},{\"text\":\"ElasticSearch\",\"link\":\"/es\"}]},{\"text\":\"WPF面试\",\"collapsed\":true,\"items\":[{\"text\":\"基础面试\",\"link\":\"/interview/wpf/wpf_basepaper1\"},{\"text\":\"核心面试\",\"collapsed\":true,\"base\":\"interview/wpf\",\"link\":\"\",\"items\":[{\"text\":\"初级\",\"link\":\"/wpf_basepaper2_1\"},{\"text\":\"中级\",\"link\":\"/wpf_basepaper2_2\"},{\"text\":\"高级\",\"link\":\"/wpf_basepaper2_3\"}]}]},{\"text\":\"上位机面试\",\"collapsed\":true,\"items\":[{\"text\":\"基础面试\",\"link\":\"/interview/upper_computer/tcp\"}]}],\"/course/\":[{\"text\":\"学习路径\",\"base\":\"/course/learn_path\",\"items\":[{\"text\":\"学习资料\",\"link\":\"/index\"},{\"text\":\"AspNetCore开发指南\",\"link\":\"/webapi\"},{\"text\":\"Csharp代码大全\",\"link\":\"/csharp\"},{\"text\":\"DotNet知识技能大全\",\"link\":\"/dotnetskill\"}]},{\"text\":\"系列\",\"items\":[{\"text\":\"TS快速上手\",\"collapsed\":true,\"base\":\"/course/learn_ts\",\"items\":[{\"text\":\"1. 基础类型\",\"link\":\"/1_type\"},{\"text\":\"2. 接口\",\"link\":\"/2_interface\"},{\"text\":\"3. 类\",\"link\":\"/3_class\"},{\"text\":\"4. 函数\",\"link\":\"/4_function\"},{\"text\":\"5. 泛型\",\"link\":\"/5_generic\"},{\"text\":\"6. 其它\",\"link\":\"/6_other\"}]},{\"text\":\"十大排序\",\"collapsed\":true,\"base\":\"/course/learn_sort\",\"items\":[{\"text\":\"1.冒泡排序\",\"link\":\"/01_bubblesort\"},{\"text\":\"2.选择排序\",\"link\":\"/02_selectionsort\"},{\"text\":\"3.插入排序\",\"link\":\"/03_insertionsort\"},{\"text\":\"4.希尔排序\",\"link\":\"/04_shellsort\"},{\"text\":\"5.归并排序\",\"link\":\"/05_mergesort\"},{\"text\":\"6.快速排序\",\"link\":\"/06_quicksort\"},{\"text\":\"7.堆排序\",\"link\":\"/07_heapsort\"},{\"text\":\"8.计数排序\",\"link\":\"/08_countingsort\"},{\"text\":\"9.桶排序\",\"link\":\"/09_bucketsort\"},{\"text\":\"10.基数排序\",\"link\":\"/10_radixsort\"}]},{\"text\":\"设计模式\",\"collapsed\":true,\"base\":\"/course/learn_design\",\"link\":\"\",\"items\":[{\"text\":\"00.前言\",\"link\":\"/00_index\"},{\"text\":\"01.单例模式\",\"link\":\"/01_Singleton\"},{\"text\":\"02.工厂方法模式\",\"link\":\"/02_FactoryMethod\"},{\"text\":\"03.抽象工厂模式\",\"link\":\"/03_AbstractFactory\"},{\"text\":\"04.建造者模式\",\"link\":\"/04_Builder\"},{\"text\":\"05.原型模式\",\"link\":\"/05_Prototype\"},{\"text\":\"06.适配器模式\",\"link\":\"/06_Adapter\"},{\"text\":\"07.桥接模式\",\"link\":\"/07_Bridge\"},{\"text\":\"08.组合模式\",\"link\":\"/08_Composite\"},{\"text\":\"09.装饰器模式\",\"link\":\"/09_Decorator\"},{\"text\":\"10.外观模式\",\"link\":\"/10_Facade\"},{\"text\":\"11.享元模式\",\"link\":\"/11_Flyweight\"},{\"text\":\"12.代理模式\",\"link\":\"/12_Proxy\"},{\"text\":\"13.责任链模式\",\"link\":\"/13_ChainOfResponsibility\"},{\"text\":\"14.命令模式\",\"link\":\"/14_Command\"},{\"text\":\"15.解释器模式\",\"link\":\"/15_Interpreter\"},{\"text\":\"16.迭代器模式\",\"link\":\"/16_Iterator\"},{\"text\":\"17.中介者模式\",\"link\":\"/17_Mediator\"},{\"text\":\"18.备忘录模式\",\"link\":\"/18_Memento\"},{\"text\":\"19.观察者模式\",\"link\":\"/19_Observer\"},{\"text\":\"20.状态模式\",\"link\":\"/20_State\"},{\"text\":\"21.策略模式\",\"link\":\"/21_Strategy\"},{\"text\":\"22.模板方法模式\",\"link\":\"/22_TemplateMethod\"},{\"text\":\"23.访问者模式\",\"link\":\"/23_Visitor\"}]},{\"text\":\"ElasticSearch\",\"collapsed\":true,\"base\":\"/course/learn_es\",\"link\":\"\",\"items\":[{\"text\":\"01.基础概念\",\"link\":\"/01_introduce\"},{\"text\":\"02.安装\",\"link\":\"/02_install\"},{\"text\":\"03.基本操作\",\"link\":\"/03_simple-curd\"},{\"text\":\"04.高级操作\",\"link\":\"/04_hight-curd\"},{\"text\":\"05.NET操作\",\"link\":\"/05_net-curd.md\"},{\"text\":\"07.搭建集群\",\"link\":\"/07_cluster\"},{\"text\":\"08.进阶概念\",\"link\":\"/08_high-concept\"},{\"text\":\"09.分布式集群和路由计算\",\"link\":\"/09_distributed\"},{\"text\":\"10.分片控制流程\",\"link\":\"/10_shards-control\"},{\"text\":\"11.分片操作原理\",\"link\":\"/11_shards-principle\"},{\"text\":\"12.多种分析器\",\"link\":\"/12_analysis\"},{\"text\":\"13.冲突问题处理\",\"link\":\"/13_handle\"},{\"text\":\"14.进阶优化\",\"link\":\"/14_optimization\"}]},{\"text\":\"Redis\",\"collapsed\":true,\"base\":\"/course/learn_redis\",\"link\":\"\",\"items\":[{\"text\":\"01.基础概念\",\"link\":\"/01_introduce\"},{\"text\":\"02.安装\",\"link\":\"/02_install\"},{\"text\":\"03.五大数据类型及API\",\"link\":\"/03_data-types\"},{\"text\":\"04.新增三大数据类型\",\"link\":\"/04_new-types\"},{\"text\":\"05.配置文件\",\"link\":\"/05_configuration\"},{\"text\":\"06.发布和订阅\",\"link\":\"/06_publish-subscribe\"},{\"text\":\"07.NET整合\",\"link\":\"/07_net\"},{\"text\":\"08.事务与锁\",\"link\":\"/08_affair\"},{\"text\":\"09.两种持久化\",\"link\":\"/09_persistence\"},{\"text\":\"10.主从复制\",\"link\":\"/10_master-slave\"},{\"text\":\"11.集群搭建\",\"link\":\"/11_cluster\"},{\"text\":\"12.应用问题\",\"link\":\"/12_application\"},{\"text\":\"13.分布式锁\",\"link\":\"/13_distributed-lock\"}]},{\"text\":\"RabbitMQ\",\"collapsed\":true,\"base\":\"/course/learn_rabbit\",\"link\":\"\",\"items\":[{\"text\":\"01.中间件\",\"link\":\"/01_middleware\"},{\"text\":\"02.消息队列\",\"link\":\"/02_mq\"},{\"text\":\"03.介绍\",\"link\":\"/03_introduce\"},{\"text\":\"04.安装\",\"link\":\"/04_install\"},{\"text\":\"05.Net基础整合\",\"link\":\"/05_basic\"},{\"text\":\"06.应答与发布\",\"link\":\"/06_ackpub\"},{\"text\":\"07.交换机\",\"link\":\"/07_exchange\"},{\"text\":\"08.死信队列\",\"link\":\"/08_dead\"},{\"text\":\"09.延迟队列\",\"link\":\"/09_delay\"},{\"text\":\"10.高发部确认\",\"link\":\"/10_hightpub\"},{\"text\":\"11.优先级\",\"link\":\"/11_priority\"}]},{\"text\":\"Docker\",\"collapsed\":true,\"base\":\"/course/learn_docker\",\"link\":\"\",\"items\":[{\"text\":\"01.基础概念\",\"link\":\"/01_introduce\"}]},{\"text\":\"Kubernetes\",\"collapsed\":true,\"base\":\"/course/learn_k8s\",\"link\":\"\",\"items\":[{\"text\":\"01.基础概念\",\"link\":\"/01_introduce\"}]}]}]},\"socialLinks\":[{\"icon\":{\"svg\":\"<svg t=\\\"1703483542872\\\" class=\\\"icon\\\" viewBox=\\\"0 0 1309 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" p-id=\\\"6274\\\" width=\\\"200\\\" height=\\\"200\\\"><path d=\\\"M1147.26896 912.681417l34.90165 111.318583-127.165111-66.823891a604.787313 604.787313 0 0 1-139.082747 22.263717c-220.607239 0-394.296969-144.615936-394.296969-322.758409s173.526026-322.889372 394.296969-322.889372C1124.219465 333.661082 1309.630388 478.669907 1309.630388 656.550454c0 100.284947-69.344929 189.143369-162.361428 256.130963zM788.070086 511.869037a49.11114 49.11114 0 0 0-46.360916 44.494692 48.783732 48.783732 0 0 0 46.360916 44.494693 52.090549 52.090549 0 0 0 57.983885-44.494693 52.385216 52.385216 0 0 0-57.983885-44.494692z m254.985036 0a48.881954 48.881954 0 0 0-46.09899 44.494692 48.620028 48.620028 0 0 0 46.09899 44.494693 52.385216 52.385216 0 0 0 57.983886-44.494693 52.58166 52.58166 0 0 0-57.951145-44.494692z m-550.568615 150.018161a318.567592 318.567592 0 0 0 14.307712 93.212943c-14.307712 1.080445-28.746387 1.768001-43.283284 1.768001a827.293516 827.293516 0 0 1-162.394168-22.296458l-162.001279 77.955749 46.328175-133.811485C69.410411 600.858422 0 500.507993 0 378.38496 0 166.683208 208.689602 0 463.510935 0c227.908428 0 427.594322 133.18941 467.701752 312.379588a427.463358 427.463358 0 0 0-44.625655-2.619261c-220.24709 0-394.100524 157.74498-394.100525 352.126871zM312.90344 189.143369a64.270111 64.270111 0 0 0-69.803299 55.659291 64.532037 64.532037 0 0 0 69.803299 55.659292 53.694846 53.694846 0 0 0 57.852923-55.659292 53.465661 53.465661 0 0 0-57.852923-55.659291z m324.428188 0a64.040926 64.040926 0 0 0-69.574114 55.659291 64.302852 64.302852 0 0 0 69.574114 55.659292 53.694846 53.694846 0 0 0 57.951145-55.659292 53.465661 53.465661 0 0 0-57.951145-55.659291z\\\" p-id=\\\"6275\\\"></path></svg>\"},\"link\":\"/aboutme.html\",\"ariaLabel\":\"wechat\"}],\"footer\":{\"copyright\":\"版权所有 ©2019-2025 金信通科技有限公司&emsp; <a href=\\\"https://beian.miit.gov.cn/\\\" target=\\\"_blank\\\">川ICP备2024135086号</a> <br />联系人： 余总 15883753897\"},\"search\":{\"provider\":\"local\"},\"docFooter\":{\"prev\":\"上一页\",\"next\":\"下一页\"},\"outline\":{\"label\":\"页面导航\",\"level\":[2,4]},\"lastUpdated\":{\"text\":\"最后更新于\",\"formatOptions\":{\"dateStyle\":\"short\",\"timeStyle\":\"medium\"}},\"langMenuLabel\":\"多语言\",\"returnToTopLabel\":\"回到顶部\",\"sidebarMenuLabel\":\"菜单\",\"darkModeSwitchLabel\":\"主题\",\"lightModeSwitchTitle\":\"切换到浅色模式\",\"darkModeSwitchTitle\":\"切换到深色模式\"},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
    
  </body>
</html>